const { rejects } = require("assert");
const fs = require("fs");

// 7.合理使用promise封装异步读取文件目录方法
// 8.合理使用async/await控制异步操作简化代码
// fs.readdir("/Users/rui/Desktop/b1804/case-user/api-koa", (error, fileArr) => {
//     if (error) {
//         console.log(error);
//         return;
//     }
//     console.log(fileArr);
// });

// Promise 是用来封装异步操作
// 以后，只要看到 callback 你就用 promise 去封装就完事了
// function readdirAsync(path) {
//     return new Promise((resolve, reject) => {
//         // 写一步
//         callback;
//     });
// }

// async function run() {
//     const data = await readdirAsync(
//         "/Users/rui/Desktop/b1804/case-user/api-koa"
//     );
//     console.log(data);
// }
// run();

//

function readFileAsync(path) {
    return new Promise((resolve, reject) => {
        fs.readFile(path, "utf8", (error, data) => {
            if (error) {
                reject(error);
            } else {
                resolve(data);
            }
        });
    });
}

await readFileAsync("");
